gl renderer: Initialize alpha uniform to 1.0
authorTimm Bäder <mail@baedert.org>
Mon, 16 Dec 2019 05:29:01 +0000 (06:29 +0100)
committerTimm Bäder <mail@baedert.org>
Tue, 7 Jan 2020 16:27:15 +0000 (17:27 +0100)
This makes gl-legacy work and gl-gles work except for text and icons.

gsk/gl/gskglrenderer.c

index ee52e72c77a844beadbf262f4a3303f479e70857..b64338a919825c11b94d5d16eccf3c88b788181c 100644 (file)
@@ -2791,6 +2791,16 @@ gsk_gl_renderer_create_programs (GskGLRenderer  *self,
   INIT_PROGRAM_UNIFORM_LOCATION (repeat, child_bounds);
   INIT_PROGRAM_UNIFORM_LOCATION (repeat, texture_rect);
 
+
+  /* We initialize the alpha uniform here, since the default value is important.
+   * We can't do it in the shader like a resonable person would because that doesn't
+   * work in gles. */
+  for (i = 0; i < GL_N_PROGRAMS; i++)
+    {
+      glUseProgram(self->programs[i].id);
+      glUniform1f (self->programs[i].alpha_location, 1.0);
+    }
+
 out:
   gsk_gl_shader_builder_finish (&shader_builder);